package com.ruoyi.finance.service;

import java.util.List;
import com.ruoyi.finance.domain.PaymentSlips;
import org.apache.ibatis.annotations.Param;

/**
 * 付款单Service接口
 * 
 * @author ruoyi
 * @date 2023-11-29
 */
public interface IPaymentSlipsService 
{
    /**
     * 查询付款单
     * 
     * @param paymentId 付款单主键
     * @return 付款单
     */
    public PaymentSlips selectPaymentSlipsByPaymentId(Long paymentId);

    /**
     * 查询付款单列表
     * 
     * @param paymentSlips 付款单
     * @return 付款单集合
     */
    public List<PaymentSlips> selectPaymentSlipsList(PaymentSlips paymentSlips);

    /**
     * 新增付款单
     * 
     * @param paymentSlips 付款单
     * @return 结果
     */
    public int insertPaymentSlips(PaymentSlips paymentSlips);

    /**
     * 修改付款单
     * 
     * @param paymentSlips 付款单
     * @return 结果
     */
    public int updatePaymentSlips(PaymentSlips paymentSlips);

    /**
     * 批量删除付款单
     * 
     * @param paymentIds 需要删除的付款单主键集合
     * @return 结果
     */
    public int deletePaymentSlipsByPaymentIds(Long[] paymentIds);

    /**
     * 删除付款单信息
     * 
     * @param paymentId 付款单主键
     * @return 结果
     */
    public int deletePaymentSlipsByPaymentId(Long paymentId);

    /**
     * 批量添加付款单
     * @param paymentSlipsList
     * @return
     */
    public int insertPaymentSlipsList(List<PaymentSlips> paymentSlipsList);

    /**
     * 核准
     * @param paymentIds
     * @param flay
     * @param paymentApplicant
     * @return
     */
    public int updatePaymentApplicant(Long[] paymentIds,boolean flay, String paymentApplicant);

    /**
     * 查询付款单的数据
     * @param paymentIds
     * @return
     */
    public List<PaymentSlips> selectPaymentApplicantByPaymentId(Long[] paymentIds);

    /**
     * 过账
     * @param paymentIds
     * @param postingApplicant
     * @return
     */
    public int updatePostingApplicant(Long[] paymentIds,String postingApplicant);
}
